package io.renren.modules.lucky.service;

import io.renren.common.utils.Result;
import io.renren.modules.lucky.dto.background.LuckyCallBackReq;
import io.renren.modules.lucky.dto.background.LuckyClickReq;
import io.renren.modules.lucky.dto.background.LuckyIndexReq;
import io.renren.modules.lucky.dto.LuckyReportDto;
import io.renren.modules.lucky.dto.background.ReportReqDto;
import io.renren.modules.security.user.UserDetail;
import org.springframework.web.multipart.MultipartFile;

public interface LuckyBaseService {

    /**
     * 上报埋点
     * @param reportDto
     * @return
     */
    Result report(LuckyReportDto reportDto);

    /**
     * 点击上报
     * @param clickReq
     * @return
     */
    Result click(LuckyClickReq clickReq);

    /**
     * 订单成功上报
     * @param callBackReq
     * @return
     */
    Result order(LuckyCallBackReq callBackReq);

    /**
     * 收益报表查询
     * @param reportReq
     * @return
     */
    Result reportQuery(ReportReqDto reportReq, UserDetail user);

    /**
     * 招财猫首页数据
     * @param indexReq
     * @param user
     * @return
     */
    Result index(LuckyIndexReq indexReq, UserDetail user);

    /**
     * 招财猫首页报表数据
     * @param indexReq
     * @param user
     * @return
     */
    Result indexCharts(LuckyIndexReq indexReq, UserDetail user);

    /**
     * 上传文件
     */
    String uploadFile(MultipartFile file, UserDetail user);

    /**
     * 下载文件
     */
    byte[] downloadFile(String fileName, UserDetail user);
}
